#ifndef __TREE_H
#define __TREE_H
typedef int ElemType;
struct BTreeNode {
	ElemType data;
	BTreeNode* left;
	BTreeNode* right;
};

void InitBTree(BTreeNode*& BT);
void CreateBTree(BTreeNode*& BT, char* a);
bool EmptyBTree(BTreeNode* BT);
int DepthBTree(BTreeNode* BT);
bool FindBTree(BTreeNode* BT, ElemType& x);
void PrintBTree(BTreeNode* BT);
void ClearBTree(BTreeNode*& BT);
void PreOrder(BTreeNode* BT);
void InOrder(BTreeNode* BT);
void PostOrder(BTreeNode* BT);
void CreateBSTree(BTreeNode*& BST, int a[], int n);
void Insert(BTreeNode*& BST, const int& item);
bool Find(BTreeNode* BST, int& item);
#endif
